package com.yyq.adms.yyb.patent.pojo;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.yyq.sos.pojo.BaseEntity;

/**
 * 专利申请
 * @author 杨应滨
 * @2012-12-5
 *
 */
@Entity
@Table(name="patent")
public class PatentApply extends BaseEntity implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	/**
	 * 专利名称
	 */
	private String patentName;
	
	/**
	 * 申请号
	 */
	private String applyCode;
	
	/**
	 * 专利类型
	 */
	private String patentType; //1：发明专利；2：实用新型专利
	
	/**
	 * 专利人
	 */
	private String applicant;
	
	/**
	 * 发明人
	 */
	private String inventor;
	
	/**
	 * 内容修改负责人
	 */
	private String modifyPerson;
	
	/**
	 * 申请方式
	 */
	private String applyType; //1：自主申请；2：通过代理
	
	/**
	 * 申请时间
	 */
	private Date applyDate;
	
	/**
	 * 提交时间
	 */
	private Date submitDate;
	
	/**
	 * 受理时间
	 */
	private Date dealDate;
	
	/**
	 * 补正
	 */
	private String modify;
	
	/**
	 * 初审合格发放时间
	 */
	private Date makeSureDate;
	
	/**
	 * 实审时间
	 */
	private Date realDealDate;
	
	/**
	 * 一通时间
	 */
	private Date firstDate;
	
	/**
	 * 二通时间
	 */
	private Date secondDate;
	
	/**
	 * 三通时间
	 */
	private Date thirdDate;
	
	/**
	 * 当前状态
	 */
	private String nowState; //1：申请中；2：已获批；3：未获批

	/**
	 * (未)取得时间
	 */
	private Date resultDate;
	
	/**
	 * 所属平台ID
	 */
	private String belongPlateFormID;
	
	/**
	 * 报送单位
	 */
	private String sentDep;
	
	/**
	 * 批注
	 */
	private String endorse;
	
	
	/**
	 * 单位名称
	 */
	private String sentDepName;
	
	
	/**
	 * 是否全局可视
	 */
//	private Integer isGlobal;
	
	/**
	 * 是否有附件
	 */
//	private Integer isHavePatents;
	
	/**
	 * 是否可用
	 */
	private Integer isEnabled;
	
	/**
	 * 数据来源
	 */
//	private Integer sourceID;

	/**
	 * 是否提交给总部
	 */
//	private Integer isSumbitTop;

	/**
	 * 所属年份，不需要加入数据库
	 */
	private String belongYear;

	public PatentApply() {
		super();
	}

	public PatentApply(String patentName, String applyCode, String patentType,
			String applicant, String inventor, String modifyPerson,
			String applyType, Date applyDate, Date submitDate, Date dealDate,
			String modify, Date makeSureDate, Date realDealDate,
			Date firstDate, Date secondDate, Date thirdDate, String nowState,
			Date resultDate, String belongPlateFormID,String sentDep,
			Integer isEnabled) {
		super();
		this.patentName = patentName;
		this.applyCode = applyCode;
		this.patentType = patentType;
		this.applicant = applicant;
		this.inventor = inventor;
		this.modifyPerson = modifyPerson;
		this.applyType = applyType;
		this.applyDate = applyDate;
		this.submitDate = submitDate;
		this.dealDate = dealDate;
		this.modify = modify;
		this.makeSureDate = makeSureDate;
		this.realDealDate = realDealDate;
		this.firstDate = firstDate;
		this.secondDate = secondDate;
		this.thirdDate = thirdDate;
		this.nowState = nowState;
		this.resultDate = resultDate;
		this.belongPlateFormID = belongPlateFormID;
		this.sentDep = sentDep;
//		this.isGlobal = isGlobal;
//		this.isHavePatents = isHavePatents;
		this.isEnabled = isEnabled;
//		this.sourceID = sourceID;
//		this.isSumbitTop = isSumbitTop;
	}

	@Column(name="applicant")
	public String getApplicant() {
		return applicant;
	}

	@Column(name="applycode")
	public String getApplyCode() {
		return applyCode;
	}

	@Column(name="applydate")
	public Date getApplyDate() {
		return applyDate;
	}

	@Column(name="applytype")
	public String getApplyType() {
		return applyType;
	}

	@Column(name="belongplateformid")
	public String getBelongPlateFormID() {
		return belongPlateFormID;
	}

	@Transient
	public String getBelongYear() {
		return belongYear;
	}

	@Column(name="dealdate")
	public Date getDealDate() {
		return dealDate;
	}

	@Column(name="firstdate")
	public Date getFirstDate() {
		return firstDate;
	}

	@Column(name="inventor")
	public String getInventor() {
		return inventor;
	}

	@Column(name="isenabled")
	public Integer getIsEnabled() {
		return isEnabled;
	}

//	@Column(name="isglobal")
//	public Integer getIsGlobal() {
//		return isGlobal;
//	}
//
//	@Column(name="ishavepatents")
//	public Integer getIsHavePatents() {
//		return isHavePatents;
//	}
//
//	@Column(name="issubmittop")
//	public Integer getIsSumbitTop() {
//		return isSumbitTop;
//	}


	@Column(name="makesuredate")
	public Date getMakeSureDate() {
		return makeSureDate;
	}

	@Column(name="modify")
	public String getModify() {
		return modify;
	}

	@Column(name="modifyperson")
	public String getModifyPerson() {
		return modifyPerson;
	}

	@Column(name="nowstate")
	public String getNowState() {
		return nowState;
	}

	@Column(name="patentname")
	public String getPatentName() {
		return patentName;
	}

	@Column(name="patenttype")
	public String getPatentType() {
		return patentType;
	}

	@Column(name="realdealdate")
	public Date getRealDealDate() {
		return realDealDate;
	}

	@Column(name="resultdate")
	public Date getResultDate() {
		return resultDate;
	}

	@Column(name="seconddate")
	public Date getSecondDate() {
		return secondDate;
	}

	@Transient
	public String getSentDep() {
		return sentDep;
	}
//
//	@Column(name="sourceid")
//	public Integer getSourceID() {
//		return sourceID;
//	}

	@Column(name="submitdate")
	public Date getSubmitDate() {
		return submitDate;
	}

	@Column(name="thirddate")
	public Date getThirdDate() {
		return thirdDate;
	}

	public void setApplicant(String applicant) {
		this.applicant = applicant;
	}

	public void setApplyCode(String applyCode) {
		this.applyCode = applyCode;
	}

	public void setApplyDate(Date applyDate) {
		this.applyDate = applyDate;
	}

	public void setApplyType(String applyType) {
		this.applyType = applyType;
	}

	public void setBelongPlateFormID(String belongPlateFormID) {
		this.belongPlateFormID = belongPlateFormID;
	}

	public void setBelongYear(String belongYear) {
		this.belongYear = belongYear;
	}

	public void setDealDate(Date dealDate) {
		this.dealDate = dealDate;
	}

	public void setFirstDate(Date firstDate) {
		this.firstDate = firstDate;
	}

	public void setInventor(String inventor) {
		this.inventor = inventor;
	}

	public void setIsEnabled(Integer isEnabled) {
		this.isEnabled = isEnabled;
	}

//	public void setIsGlobal(Integer isGlobal) {
//		this.isGlobal = isGlobal;
//	}
//
//	public void setIsHavePatents(Integer isHavePatents) {
//		this.isHavePatents = isHavePatents;
//	}
//
//	public void setIsSumbitTop(Integer isSumbitTop) {
//		this.isSumbitTop = isSumbitTop;
//	}


	public void setMakeSureDate(Date makeSureDate) {
		this.makeSureDate = makeSureDate;
	}

	public void setModify(String modify) {
		this.modify = modify;
	}

	public void setModifyPerson(String modifyPerson) {
		this.modifyPerson = modifyPerson;
	}

	public void setNowState(String nowState) {
		this.nowState = nowState;
	}

	public void setPatentName(String patentName) {
		this.patentName = patentName;
	}

	public void setPatentType(String patentType) {
		this.patentType = patentType;
	}

	public void setRealDealDate(Date realDealDate) {
		this.realDealDate = realDealDate;
	}

	public void setResultDate(Date resultDate) {
		this.resultDate = resultDate;
	}

	public void setSecondDate(Date secondDate) {
		this.secondDate = secondDate;
	}

	public void setSentDep(String sentDep) {
		this.sentDep = sentDep;
	}

//	public void setSourceID(Integer sourceID) {
//		this.sourceID = sourceID;
//	}

	public void setSubmitDate(Date submitDate) {
		this.submitDate = submitDate;
	}

	public void setThirdDate(Date thirdDate) {
		this.thirdDate = thirdDate;
	}
	
	@Column(name="endorse")
	public String getEndorse() {
		return endorse;
	}

	public void setEndorse(String endorse) {
		this.endorse = endorse;
	}

	@Column(name="sentdepname")
	public String getSentDepName() {
		return sentDepName;
	}

	public void setSentDepName(String sentDepName) {
		this.sentDepName = sentDepName;
	}
}
